#ifndef __FEM__REGION__
#define __FEM__REGION__

#include "Node.hpp"
#include <iostream>
#include <functional>
#include <Eigen/Dense>

class Region
{
public:
    Region(std::vector<Node>);
    friend std::ostream& operator<<(std::ostream&, Region&);
    std::vector<std::function<double(double, double)> > basis_function;
    std::vector<std::vector<std::function<double(double, double)> > > basis_gradient;
    std::vector<Node> nodes;
    double integral(std::function<double(double, double)>);
};

#endif
